// 数组中的每个元素代表你在该位置可以跳跃的最大长度
// 判断你是否能够到达最后一个下标
var canJump = function (nums) {
  //  从后往前遍历 动态规划
  //   target 为目标位置 也就是需要到达的位置
  let target = nums.length - 1;
  for (let i = nums.length - 2; i >= 0; i--) {
    //   如果当前位置可以跳到target 之后就是将当前位置作为target进行跳跃
    if (nums[i] >= target - i) {
      target = i;
    }
  }
  //   如果最后 target表示第一个元素 也就是初始元素 就满足条件
  if (target == 0) {
    return true;
  }
  return false;
};
